package com.example.rbac.config;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

import org.springframework.web.cors.CorsConfiguration;
import org.springframework.web.cors.CorsConfigurationSource;
import org.springframework.web.cors.UrlBasedCorsConfigurationSource;

import java.util.Arrays;

//@Configuration
//@EnableWebSecurity
public class SecurityConfig{
// extends WebSecurityConfigurerAdapter
//    @Override
//    protected void configure(HttpSecurity http) throws Exception {
//        // 禁用CSRF（跨站请求伪造）保护，因为我们使用JWT进行认证
//        http.csrf().disable()
//                // 设置会话管理为无状态，因为我们使用JWT
//                .sessionManagement().sessionCreationPolicy(SessionCreationPolicy.STATELESS)
//                .and()
//                // 配置URL权限规则 - 允许所有请求通过Spring Security
//                // 实际的权限验证由自定义的PermissionInterceptor处理
//                .authorizeRequests()
//                .anyRequest().permitAll()
//                .and()
//                // 允许跨域请求
//                .cors();
//    }
//
//    @Bean
//    public PasswordEncoder passwordEncoder() {
//        // 使用BCrypt密码编码器
//        return new BCryptPasswordEncoder();
//    }
//
//    @Bean
//    public CorsConfigurationSource corsConfigurationSource() {
//        // 配置CORS，允许所有源、方法和头
//        CorsConfiguration configuration = new CorsConfiguration();
//        configuration.setAllowedOrigins(Arrays.asList("*"));
//        configuration.setAllowedMethods(Arrays.asList("GET", "POST", "PUT", "DELETE", "OPTIONS"));
//        configuration.setAllowedHeaders(Arrays.asList("*"));
//        UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
//        source.registerCorsConfiguration("/**", configuration);
//        return source;
//    }
}